The use of microprocessors is spreading to all electronic systems. Aside from basic microcontrollers (such as 80C51 from Intel Corp.®), there can be found particularly sophisticated and powerful microprocessors, and in particular digital signal processors (D.S.P.)
The most advanced processing units are based on a set of complex instructions comprising in particular predicated instructions and expanded instructions.
Thus, predicated instructions can be found in processors of the TIC62x DSP type by Texas Instrument®, in Itanium processors of Intel®, or in the StarCore SCx DSP family by Motorola etc. Instructions of the expanded type are found in processors such as Itanium from Intel®, ADSP Blackfin from Analog Devices® and in DSP kernels of the ST100 family from STMicroelectronics S.A®.
The presence of predicated instructions (PREDICATED) or expanded instructions (EXPANDED) makes burn-in operation difficult and more generally impedes evaluation of the functionalities of a program written as an assembler. Indeed, on one hand, predicated instructions might not be executed, and on the other hand, instructions of the expanded type cause cascaded execution of sub-instructions that makes reading and interpretation of typical/standard branch trace files difficult.
Generally, the typical branch tracing file generated during program flow does not allow computer programmers to easily follow program flow such as it is really executed, which does not really make programming error detection and correction easier.
It is desired to have a simple and effective branch tracing mechanism that is perfectly adapted to the advanced instructions of the PREDICATED and EXPANDED types.